package controller 
{
	import flash.events.Event;
	
	/**
	 * ...
	 * @author Gaz Williams
	 */
	public class GameViewControllerEvent extends Event 
	{	
		public static const VIEW_INITIALISED:String 			= "view initialised";
		public static const PLAYER_HIT_GUIDE_MARKER:String 		= "player hit guide marker";
		public static const PLAYER_INTERACTED_WITH_NPC:String 	= "player interacted with npc";
		static public const PLAYER_HIT_NPC:String 				= "playerHitNpc";
		static public const UPDATE:String 						= "update";
		static public const PLAYER_INTERACTION_COMPLETED:String = "playerInteractionCompleted";
		
		public var data:Object;
		
		public function GameViewControllerEvent(type:String, data:Object, bubbles:Boolean=false, cancelable:Boolean=false) 
		{ 
			super(type, bubbles, cancelable);
			this.data = data;
		} 
		
		public override function clone():Event 
		{ 
			return new GameViewControllerEvent(type, data, bubbles, cancelable);
		} 
		
		public override function toString():String 
		{ 
			return formatToString("GameViewControllerEvent", "type", "data", "bubbles", "cancelable", "eventPhase"); 
		}
		
	}
	
}